package com.xjm_cloud_admin.service;

import com.xjm_cloud_admin.domain.XjmShare;
import com.xjm_cloud_admin.domain.vo.req.SaveShareReqVo;
import com.xjm_cloud_admin.domain.vo.req.ShareCheckReqVo;
import com.xjm_cloud_admin.domain.vo.req.ShareDeleteReqVo;
import com.xjm_cloud_admin.domain.vo.req.ShareFileListReqVo;
import com.xjm_cloud_admin.domain.vo.resp.ShareResp;
import com.xjm_cloud_admin.util.R;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
 * 文件分享表(XjmShare)表服务接口
 *
 * @author 浪漫写尽歌谱
 * @since 2024-04-23 18:32:32
 */
public interface XjmShareService extends IService<XjmShare> {

    /**
     * 通过主键查询单条数据
     *
     * @param shareId 分享id
     * @return 分享文件信息
     */
    R getByShareId(String shareId);

    /**
     * 新增分享
     *
     * @param saveShareReqVo 分享信息
     * @return 结果
     */
    R insertShare(SaveShareReqVo saveShareReqVo);

    /**
     * 校验密码
     *
     * @param vo 校验信息
     * @return 校验结果
     */
    R checkPassword(ShareCheckReqVo vo);

    /**
     * 获取分享的文件
     *
     * @param httpServletRequest 请求
     * @return 文件
     */
    R list(HttpServletRequest httpServletRequest, ShareFileListReqVo vo);

    /**
     * 获取分享的文件
     *
     * @return 文件
     */
    R shareList();

    /**
     * 删除分享
     *
     * @return 文件
     */
    R delete(ShareDeleteReqVo vo);
}

